package com.zjzywl.smoke.repository;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.zjzywl.smoke.entity.Device;
import com.zjzywl.smoke.entity.DeviceStatus;

@Repository
public interface DeviceStatusCustomRepository {

	/*
	 * installDate:安装日期 returnTime:检测日期
	 */
	List getTroubleDevice(String installDate, String returnTime);

	/*
	 * 根据用户信息获取设备状态信息
	 */
	List getDSByUser(String userId);

	/*
	 * 根据设备类型及用户信息获取设备状态信息
	 */
	List getDSByUserAndDeviceType(String userId, String deviceTypeId, String status, String devCode);

	/*
	 * 根据设备类型及用户信息获取设备热力图状态信息
	 */
	List getTHByUserAndDeviceType(String bTime, String eTime, String userId, String deviceTypeId);

	/*
	 * 根据设备类型及用户信息获取设备状态信息
	 */
	List getDSByUserAndDeviceTypeAndStatus(String userId, String status, String deviceTypeId);

	/*
	 * 根据设备类型及用户信息获取设备数量
	 */
	List getDSCountByUserAndDeviceType(String userId, String deviceTypeId);

	/*
	 * 根据设备类型、设备状态、用户信息获取设备数量
	 */
	List getDSCountByUserAndDeviceTypeAndStatus(String userId, String status, String deviceTypeId, String startTime,
			String endTime);

	/*
	 * 判断用户是否有该设备权限
	 */
	List getDSCountByUserAndDeviceCode(String userId, String deviceCode);
	
	List<DeviceStatus> getDeviceByPosition(double minlat, double maxlat, double minlng, double maxlng);
	
}
